home *** CD-ROM | disk | FTP | other *** search
/ Risc World Words - Complete RISC World 1 to 6 / Risc World Words - Complete RISC World 1 to 6.iso / HTML / VOLUME6 / ISSUE2 / AALP / CHAP10 < prev    next >
Text File  |  2005-07-19  |  6KB  |  233 lines

  1. <HTML>
  2. <HEAD>
  3. <TITLE>ARM Assembly Language Programming</TITLE>
  4. </HEAD>
  5. <body bgcolor="#FFFFFF" text="#000000" link="#cc0000" vlink="#666666" alink="yellow" BACKGROUND="../GRAPHICS/BGRND.GIF"> 
  6.  
  7. <TABLE BORDER="0" CELLSPACING="5" CELLPADDING="5">
  8. <TR>
  9. <TD WIDTH="40">
  10. </TD>
  11.  
  12. <TD WIDTH="654">
  13. <hr align=CENTER width="100%">
  14. <center>
  15. <A HREF="CHAP09.HTM"><IMG ALT=" " SRC="../GRAPHICS/LEFT.GIF" WIDTH=75 HEIGHT=74 border=0></A>
  16. <A HREF="../INDEX.HTM"><IMG ALT="Index" SRC="../GRAPHICS/INDEX.GIF" WIDTH=75 HEIGHT=74 border=0></A>
  17. <A HREF="../4DRACE/INDEX.HTM"><IMG ALT=" " SRC="../GRAPHICS/RIGHT.GIF" WIDTH=75 HEIGHT=74 border=0></A></p><BR><IMG ALT="RISC World" SRC="../GRAPHICS/FEAT.GIF" WIDTH=204 HEIGHT=199>
  18. <hr align=CENTER width="100%">
  19. </center>
  20. <H2><font color="#0000DD">ARM Assembly language Programming<BR></font></H2>
  21. <p><cite>RISCWorld</cite></p>
  22.  
  23. <P ALIGN=CENTER>
  24. <B><FONT SIZE="+4">Appendix C </FONT></B>
  25.  
  26. <DIV ALIGN=CENTER>
  27. <TABLE CELLPADDING=5>
  28. <TR><TD WIDTH=188><B>Cond: </B>Condition field 
  29. <TD ALIGN=RIGHT WIDTH=146><B>OpCode:</B> Operation code 
  30. </TABLE>
  31. </DIV>
  32. <DIV ALIGN=CENTER>
  33. <TABLE CELLPADDING=5>
  34. <TR><TD WIDTH=31>0000 
  35. <TD WIDTH=145>EQ (EQual) 
  36. <TD ALIGN=CENTER WIDTH=45>0000 
  37. <TD WIDTH=90>AND 
  38. </TABLE>
  39. </DIV>
  40. <DIV ALIGN=CENTER>
  41. <TABLE CELLPADDING=5>
  42. <TR><TD WIDTH=31>0001 
  43. <TD WIDTH=145>NE (NEver) 
  44. <TD ALIGN=CENTER WIDTH=45>0001 
  45. <TD WIDTH=90>EOR 
  46. </TABLE>
  47. </DIV>
  48. <DIV ALIGN=CENTER>
  49. <TABLE CELLPADDING=5>
  50. <TR><TD WIDTH=31>0010 
  51. <TD WIDTH=145>CS (Carry Set) 
  52. <TD ALIGN=CENTER WIDTH=45>0010 
  53. <TD WIDTH=90>SUB 
  54. </TABLE>
  55. </DIV>
  56. <DIV ALIGN=CENTER>
  57. <TABLE CELLPADDING=5>
  58. <TR><TD WIDTH=31>0011 
  59. <TD WIDTH=145>CC (Carry Clear) 
  60. <TD ALIGN=CENTER WIDTH=45>0011 
  61. <TD WIDTH=90>RSB 
  62. </TABLE>
  63. </DIV>
  64. <DIV ALIGN=CENTER>
  65. <TABLE CELLPADDING=5>
  66. <TR><TD WIDTH=31>0100 
  67. <TD WIDTH=145>MI (MInus) 
  68. <TD ALIGN=CENTER WIDTH=45>0100 
  69. <TD WIDTH=90>ADD 
  70. </TABLE>
  71. </DIV>
  72. <DIV ALIGN=CENTER>
  73. <TABLE CELLPADDING=5>
  74. <TR><TD WIDTH=31>0101 
  75. <TD WIDTH=145>PL (PLus) 
  76. <TD ALIGN=CENTER WIDTH=45>0101 
  77. <TD WIDTH=90>ADC 
  78. </TABLE>
  79. </DIV>
  80. <DIV ALIGN=CENTER>
  81. <TABLE CELLPADDING=5>
  82. <TR><TD WIDTH=31>0110 
  83. <TD WIDTH=145>VS (oVerflow Set) 
  84. <TD ALIGN=CENTER WIDTH=45>0110 
  85. <TD WIDTH=90>SBC 
  86. </TABLE>
  87. </DIV>
  88. <DIV ALIGN=CENTER>
  89. <TABLE CELLPADDING=5>
  90. <TR><TD WIDTH=31>0111 
  91. <TD WIDTH=145>VC (oVerflow Clear) 
  92. <TD ALIGN=CENTER WIDTH=45>0111 
  93. <TD WIDTH=90>RSC 
  94. </TABLE>
  95. </DIV>
  96. <DIV ALIGN=CENTER>
  97. <TABLE CELLPADDING=5>
  98. <TR><TD WIDTH=31>1000 
  99. <TD WIDTH=145>HI (HIgher) 
  100. <TD ALIGN=CENTER WIDTH=45>1000 
  101. <TD WIDTH=90>TST 
  102. </TABLE>
  103. </DIV>
  104. <DIV ALIGN=CENTER>
  105. <TABLE CELLPADDING=5>
  106. <TR><TD WIDTH=31>1001 
  107. <TD WIDTH=145>LS (Lower or Same) 
  108. <TD ALIGN=CENTER WIDTH=45>1001 
  109. <TD WIDTH=90>TEQ 
  110. </TABLE>
  111. </DIV>
  112. <DIV ALIGN=CENTER>
  113. <TABLE CELLPADDING=5>
  114. <TR><TD WIDTH=31>1010 
  115. <TD WIDTH=145>GE (Greater or Equal) 
  116. <TD ALIGN=CENTER WIDTH=45>1010 
  117. <TD WIDTH=90>CMP 
  118. </TABLE>
  119. </DIV>
  120. <DIV ALIGN=CENTER>
  121. <TABLE CELLPADDING=5>
  122. <TR><TD WIDTH=31>1011 
  123. <TD WIDTH=145>LT (Less Than) 
  124. <TD ALIGN=CENTER WIDTH=45>1011 
  125. <TD WIDTH=90>CMN 
  126. </TABLE>
  127. </DIV>
  128. <DIV ALIGN=CENTER>
  129. <TABLE CELLPADDING=5>
  130. <TR><TD WIDTH=31>1100 
  131. <TD WIDTH=145>GT (Greater Than) 
  132. <TD ALIGN=CENTER WIDTH=45>1100 
  133. <TD WIDTH=90>ORR 
  134. </TABLE>
  135. </DIV>
  136. <DIV ALIGN=CENTER>
  137. <TABLE CELLPADDING=5>
  138. <TR><TD WIDTH=31>1101 
  139. <TD WIDTH=145>LE (Less than or Equal) 
  140. <TD ALIGN=CENTER WIDTH=45>1101 
  141. <TD WIDTH=90>MOV 
  142. </TABLE>
  143. </DIV>
  144. <DIV ALIGN=CENTER>
  145. <TABLE CELLPADDING=5>
  146. <TR><TD WIDTH=31>1110 
  147. <TD WIDTH=145>AL (ALways) 
  148. <TD ALIGN=CENTER WIDTH=45>1110 
  149. <TD WIDTH=90>BIC 
  150. </TABLE>
  151. </DIV>
  152. <DIV ALIGN=CENTER>
  153. <TABLE CELLPADDING=5>
  154. <TR><TD WIDTH=31>1111 
  155. <TD WIDTH=145>NV (NeVer) 
  156. <TD ALIGN=CENTER WIDTH=45>1111 
  157. <TD WIDTH=90>MVN 
  158. </TABLE>
  159. </DIV>
  160.  
  161.  
  162. <P>
  163. <B><FONT SIZE="+4">Instruction set<BR>
  164. </FONT></B>
  165. <P>
  166. <B>Data Processing </B>
  167. <P>
  168. <B><FONT SIZE="-1">I: Immediate operand bit.</FONT></B> This defines exactly what Operand 2 is. If the I bit is 0, Operand 2 is a register, with the register number held in bits 0 to 3 and the shift applied to that register in bits 4 to 11. If the I bit is 1, Operand 2 is an immediate value, with bits 0 to 7 holding the 8 bit value, and bits 8 to 11 holding the shift 
  169.  
  170. <P>
  171. <FONT SIZE="-1">applied to that value. </FONT>
  172. <P>
  173. <B><FONT SIZE="-1">S: Set condition codes.</FONT></B> If this bit is set to 0, the condition codes are not altered after the instruction has 
  174.  
  175. <P>
  176. <FONT SIZE="-1">executed. If it is set to 1, they are altered. </FONT>
  177. <P>
  178. <B><FONT SIZE="-1">Rn: First operand register. </FONT></B>
  179. <P>
  180. <B>Arm Assembly Language programming </B>
  181. <P>
  182. <B><FONT SIZE="-1">Rd: Destination register. </FONT></B>
  183.  
  184. <P>
  185. <B>Branch and Branch with link </B>
  186. <P>
  187. <B><FONT SIZE="-1">L: Link bit.</FONT></B> 0=Branch, 1=Branch with link <B>Multiply and multiply-accumulate </B>
  188. <P>
  189. <B><FONT SIZE="-1">A: Accumulate bit.</FONT></B> 0=multiply, 1=multiply with accumulate 
  190.  
  191. <P>
  192. <B>Single Data transfer </B>
  193. <P>
  194. <B><FONT SIZE="-1">P: Pre/Post indexing.</FONT></B> 0=post (offset added after transfer). 1=pre (offset added before transfer). 
  195.  
  196. <P>
  197. <B><FONT SIZE="-1">U: Up/Down bit.</FONT></B> 0=down (Offset subtracted from base). 1=Up (Offset added to base). 
  198. <P>
  199. <B><FONT SIZE="-1">B: Byte/Word bit.</FONT></B> 0=transfer word, 1=transfer byte. 
  200.  
  201. <P>
  202. <B><FONT SIZE="-1">W: Write-back.</FONT></B> 0=No write back, 1=Write address into base. <B>Block data transfer </B>
  203.  
  204. <P>
  205. <B><FONT SIZE="-1">S: PSR & Force user mode.</FONT></B> 0=do not load PSR or force user mode. 1=load PSR or force user mode. <B>Software Interrupt </B>
  206.  
  207. <P>
  208. <B>Co-processor data operations <FONT SIZE="-1">CP Opc: </FONT></B>Co-processor operation code. <B>CRn:</B> Co-processor operand register. <B>CRd:</B> Co-processor 
  209.  
  210. <P>
  211. <FONT SIZE="-1">destination register. <B>CP#:</B> Co-processor number. <B>CP:</B> Co-processor information </FONT><B>Co-processor data transfers </B>
  212. <P>
  213. <B><FONT SIZE="-1">N: Transfer Length. </FONT></B>
  214. <P>
  215. <B>Arm Assembly Language programming </B>
  216. <P>
  217. <B>Co-processor register transfers </B>
  218. <P>
  219. <B><FONT SIZE="-1">L: Load/Store bit.</FONT></B> 0=Store to co-processor, 1=Load from co-processor. <B>Undefined instructions. </B>
  220.  
  221.  
  222. <p align="right"><b>RISCWorld</a></p>
  223.  
  224. <p align="center">
  225. <A HREF="CHAP09.HTM"><IMG ALT=" " SRC="../GRAPHICS/LEFT.GIF" WIDTH=75 HEIGHT=74 border=0></A>
  226. <A HREF="../INDEX.HTM"><IMG ALT="Index" SRC="../GRAPHICS/INDEX.GIF" WIDTH=75 HEIGHT=74 border=0></A>
  227. <A HREF="../4DRACE/INDEX.HTM"><IMG ALT=" " SRC="../GRAPHICS/RIGHT.GIF" WIDTH=75 HEIGHT=74 border=0></A></p><BR>
  228. </TD>
  229. </TR>
  230. </TABLE>
  231. </BODY>
  232. </HTML>
  233.